package com.thunisoft.design.command.invoker;

import com.thunisoft.design.command.cmd.Command;

/**
 * 调用者/请求者（Invoker）角色：是请求的发送者，它通常拥有很多的命令对象，并通过访问命令对象来执行相关请求，它不直接访问接收者。
 * 
 * @title IInvoker.java
 * @package com.thunisoft.design.command.invoker
 * @projectName spring.boot
 * @author yzj
 * @date 2020年5月19日 下午2:32:28
 */
public interface IInvoker {

	/**
	 * 点菜
	 * 
	 * @param c
	 */
	public void add(Command c);

	/**
	 * 取消菜品
	 * @param c
	 */
	public void remove(Command c);

	/**
	 * 获取菜品
	 * @param i
	 * @return
	 */
	public Command getChild(int i);

	/**
	 * 执行
	 */
	public void execute();
}
